package com.bub.pay.api.entity.vo.pay;

import com.bub.pay.framework.common.entity.model.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 通用-支付订单-分页条件查询
 *
 * @author recall
 * @date 2019/8/29
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BasePageQueryVO extends Page {

    /**
     * 平台订单号
     */
    @ApiModelProperty("平台订单号")
    private String orderNo;

    /**
     * 商户订单号
     */
    @ApiModelProperty("商户订单号")
    private String merOrderNo;

    /**
     * 商户ID
     */
    @ApiModelProperty("商户ID")
    private Long merId;

    /**
     * 订单状态：-1=预下单 ，0，待支付，1：支付成功, 2:失败，3=支付成功（已冻结），4，补单，5补单中
     */
    @ApiModelProperty("订单状态：-1=预下单 ，0，待支付，1：支付成功, 2:失败，3=支付成功（已冻结），4，补单，5补单中")
    private Integer orderState;

    /**
     * 通知状态 0=失败，1=成功
     */
    @ApiModelProperty("通知状态")
    private Integer noticeState;

    /***
     * 支付来源，1=api,2=web
     */
    @ApiModelProperty("支付来源，1=api,2=web")
    private Integer orderSource;

    /**
     * 创建时间-开始
     */
    @ApiModelProperty("创建时间-开始")
    private Date createDateStart;

    /**
     * 创建时间-结束
     */
    @ApiModelProperty("创建时间-结束")
    private Date createDateEnd;

    /**
     * 完成时间-起始
     */
    @ApiModelProperty("完成时间-起始")
    private Date finishDateStart;

    /**
     * 完成时间-结束
     */
    @ApiModelProperty("完成时间-结束")
    private Date finishDateEnd;

    /**
     * 大于等于订单金额
     */
    @ApiModelProperty("大于等于订单金额")
    private BigDecimal gtEqOrderAmount;

    /**
     * 小于等于订单金额
     */
    @ApiModelProperty("小于等于订单金额")
    private BigDecimal ltEqOrderAmount;

    /**
     * 代理ID
     */
    @ApiModelProperty("代理ID")
    private Long agentId;

    /**
     * 平台订单号后十位
     */
    @ApiModelProperty("平台订单号后十位")
    private String orderNoAftTen;
}
